package com.kaifamiao.anonymous;

import java.util.Arrays;

/**
 * 使用 匿名类 实现 接口 并实现其中的全部抽象方法
 */
public class AnonymousClassTest3 {

	public static void main(String[] args) {
		
		// 变量 f 的 编译时类型 是 Flyable
		Flyable f = new Flyable() {
			String name = "大鹏" ;
			@Override
			public void fly() {
				System.out.println( this.name + "飞起来了" );
			}
		};
		
		// 变量 h 的 运行时类型 是 Human 类的子类类型
		Class<?> c = f.getClass();
		System.out.println( c.getName() );
		
		Class<?> p = c.getSuperclass(); // 获得c所表示类的父类
		System.out.println( p.getName() );
		
		Class<?>[] interfaces = c.getInterfaces(); // 获得c所表示的类实现的所有接口
		System.out.println( Arrays.toString( interfaces ) );
		
		f.fly();
		
	}

}
